The present embodiments relate to the deployment of services during fulfillment of a service request for a service consumer.
Innovative technologies in the areas of computer architecture, chip fabrication, networking, programming models, operating systems, application performance, and algorithms, among others, have transformed the computing paradigm many times. The computing industry has generally moved from main-frame computing platforms to personal microcomputer and embedded computing platforms. Recently, handheld computing devices having the similar computing power as personal microcomputers have furthermore transformed the computing paradigm. Today, a heterogeneous world of computing platforms generally exists, mainly in computer architecture and the operating systems used by these computing platforms. However, communication technology, especially the Internet (in macro scale among devices or individual systems), has revolutionized the interaction among these various heterogeneous computing platforms.
Typically, to perform some computing functionalities, a user buys a computing device and its associated software as an integrated product. If the user requires some new functionality to be performed, then he/she needs to buy additional software. However, the paradigm has been shifted towards service-oriented architecture, e.g. cloud computing, where computing is delivered as a service rather than as an integrated hardware and software product. The Internet has allowed highly distributed applications to be implemented in the form of service-oriented architecture. A service consumer may instantiate an application on-demand by requesting various available, distributed services that interact with one another to form the application.
A service provider may fulfill the service requests from the service consumer (and other service consumers). The service provider utilizes “downstream” computing platforms (e.g., computing devices within data centers) to host and provide the services. More specifically, the service provider utilizes the “downstream” computing platforms to compute the required service-related information on-demand. The service provider does not utilize any other computing platforms, other than the “downstream” computing platforms noted above, to host and/or provide the required services.
The service provider may, in some cases, have to fulfill service requests from a number of service consumers at different times. In some cases, a multiplicity of service components (e.g., computing devices within downstream data centers) are used on the service provider side to fulfill the service requests. Problematically, requests from many consumers may stretch the resources, particularly the computational capacity, of the service components. Accordingly, the service provider may be unable to promptly and efficiently provide the requested services to the service consumer on demand, as requested.